package com.shlh.saas.entity.canton.buyer;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springframework.data.annotation.Transient;

import java.util.HashMap;
import java.util.Map;

/**
 * 广交会采购商基础实体类
 * 包含所有届次采购商共有的字段
 */
@Data
@TableName("canton_fair_buyers")
public class BaseCantonFairBuyer {

    /**
     * 主键ID
     */
    @TableId
    private Long id;

    /**
     * 公司名称
     */
    @TableField("company_name")
    private String companyName;

    /**
     * 联系人
     */
    @TableField("contact_person")
    private String contactPerson;

    /**
     * 联系团队
     * 注意：实际数据库表中可能没有此字段
     */
    @TableField(exist = false)
    private String contactTeam;

    /**
     * 电子邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 电话
     */
    @TableField("telephone")
    private String phone;

    /**
     * 传真
     */
    @TableField("fax")
    private String fax;

    /**
     * 国家/地区
     */
    @TableField("country")
    private String country;

    /**
     * 地址
     */
    @TableField("address")
    private String address;

    /**
     * 网站
     */
    @TableField("website")
    private String website;

    /**
     * 届数
     */
    @TableField("session")
    private String sessionsNum;

    @TableField(exist = false)
    private String demandGoods;

    @TableField(exist = false)
    private String productCategory;

    @TableField(exist = false)
    private String telephone;

    @TableField(exist = false)
    private String zipCode;

    /**
     * 扩展字段，用于存储不同届次特有的字段
     * 可能包含的字段：
     * - sessionInfo: 广交会届数
     * - countryRegion: 国家/地区
     * - procurementProductType: 采购产品类型
     * - zipCode: 邮编
     */
    @TableField(exist = false)
    private Map<String, String> extendedFields = new HashMap<>();
} 